The present invention relates generally to sensors, and, more particularly, to diagnostic signals generated by sensors used in automotive electronics.
Automobile electronics are becoming increasingly sophisticated. For example, automobiles include many microcontrollers that manage a variety of different functions, such as engine controls, safety systems, braking systems, etc. An engine control unit (ECU) controls functions such as engine transmission and power generation and supply based on outputs from multiple sensors associated with the corresponding automobile components. For example, a crankshaft position sensor mounted on a crankshaft transmits the angular position of the crankshaft to the ECU, based on which the ECU determines when to fire the spark plugs and inject fuel. Similarly, other sensors including pressure, speed, and temperature sensors enable the ECU to control the automobile in an effective manner.
Sensor output signals often are transmitted to the ECU using the single edge nibble transmission (SENT) protocol, where the sensor output signal includes one or more data frames (data messages) and each data frame includes a calibration pulse, a status and communication nibble, 1 to 6 data nibbles, a cyclic redundancy check (CRC) nibble, and an optional pause pulse. The ECU includes a SENT receiver unit that receives the sensor output signals and performs inter-frame diagnostic checks on the data frames to ascertain their validity. A first inter-frame diagnostic check (also known as success calibration check) is performed by comparing pulse widths of calibration pulses of two successively received data frames. If the pulse widths differ by more than 1.5625%, then either of the two successively received data frames are declared invalid and rejected. A second inter-frame diagnostic check (also known as pause pulse diagnostic check) is performed by comparing ratios of calibration pulse to data frame length of two successively received data frames. If the ratios differ by more than 1.5625%, then the latest of the two successively received data frames is declared invalid.
The above diagnostic checks require measurement of data frames lengths that are in the range of 1 millisecond (ms). Using a high frequency (HF) clock signal in the range of mega-hertz (MHz) requires large counters that increase the cost of the receiver unit. On the other hand, using a low frequency clock signal reduces accuracy of the measurement of the data frames length. The diagnostic checks also include several mathematical calculations including multiplications, divisions, and floating point calculations that involve large numbers and requires wide registers, which further increase the cost of the receiver unit. Additionally, the floating point calculations negatively affect circuit operating frequency. Circuitry to implement the above-mentioned diagnostic checks must be replicated for each channel through which the sensor output signals are received at the receiver unit, which increases silicon die area and receiver unit cost.
It would be advantageous to have a system for performing diagnostic checks that is accurate, does not require floating point calculations, and need not be replicated for each communication channel, and thus is less expensive, and overcomes the above-mentioned limitations of conventional diagnostic systems.